package com.xbongbong.paas.service.field;

import com.xbongbong.paas.toolbox.wrap.QueryIgnore;
import com.xbongbong.sys.domain.entity.DepartmentEntity;
import com.xbongbong.sys.domain.entity.UserEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * @author 吴峰
 * @date 2022/04/01 10:12
 */
@Getter
@Setter
@ToString
public class FieldAnalysisPoJo implements Serializable {
    private static final long serialVersionUID = -4053995145279218501L;

    /**
     * 用户
     */
    private Map<String, UserEntity> userMap;
    /**
     * 部门
     */
    private Map<String, DepartmentEntity> departmentMap;

    /**
     * 负责人
     */
    private Map<Long, List<String>> mainUserMap;
    /**
     * 协同人
     */
    private Map<Long, List<String>> coUserMap;

    private Integer businessType;


    private boolean invisibleOfScope;

    private String corpid;

    private Long formId;

    private Integer saasMark;

    /**
     * 详情调用
     */
    @Getter(onMethod_ = {@QueryIgnore})
    private Integer detailFlag;

    public FieldAnalysisPoJo() {
    }

    public FieldAnalysisPoJo(Map<String, UserEntity> userMap, Map<String, DepartmentEntity> departmentMap, Map<Long, List<String>> mainUserMap, Map<Long, List<String>> coUserMap, Integer businessType, boolean invisibleOfScope, String corpid, Long formId, Integer saasMark, Integer detailFlag) {
        this.userMap = userMap;
        this.departmentMap = departmentMap;
        this.mainUserMap = mainUserMap;
        this.coUserMap = coUserMap;
        this.businessType = businessType;
        this.invisibleOfScope = invisibleOfScope;
        this.corpid = corpid;
        this.formId = formId;
        this.saasMark = saasMark;
        this.detailFlag = detailFlag;
    }
}
